import numpy as np
import pandas as pd

# 条件筛选是通过 布尔表达式 来选择符合条件的数据。
# 你可以根据某列的值（或多个列的值）进行筛选。
# 数据数值范围、字符串匹配、缺失值等条件来选择数据
# 语法
# df[condition]
# condition：一个布尔条件或布尔表达式。

# **复合条件**：你可以使用 `&`（与）和 `|`（或）组合多个条件，括号是必须的。
# - **精确匹配**：可以根据列值与特定值进行匹配（例如 `df['C'] == 200`）。

# # 选择 A 列大于 2 的所有行
data = {'A': [1, 2, 3, 4], 'B': [10, 20, 30, 40], 'C': [100, 200, 300, 400]}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3', 'row4'])
print(df)

# 选择 A 列大于 2 的所有行
print(df[df['A'] > 2])

# 选择 A 列大于 2 且 B 列小于 40 的所有行
print(df[(df['A'] > 2) & (df['B'] < 40)])

# 选择 A 列为 3 或者 B 列为 30 的所有行
print(df[(df['A'] == 3) | (df['B'] == 30)])

# 选择 C 列值为 200 的所有行
print(df[df['C'] == 200])
